using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Crystal.Libs;
using Crystal.AI;
using Microsoft.Xna.Framework;
using Crystal.Mapping;

namespace Crystal.Actors
{
    public abstract class Actorbase : PhysicsPrim, PathableEntity
    {
        //Fields
        private MazePosition _MazePosition;
        public MazePosition MazePosition
        {
            get { return _MazePosition; }
            set { _MazePosition = value; }
        }
        
        public float WalkSpeed {get; set;}
        
        private WaypointPath _Path;
        public WaypointPath Path
        {
            get {return _Path; }
            protected set {_Path = value;}
        }
        
          
        //cTor
        public Actorbase()
            : base(Vector3.Zero)
        {

        }

        //Methods

        #region Pathable Entity
        public new Vector3 Position
        {
            get {return Position; }
            set{ Position = value; }
        }
        public float ActorSpeed
        {
            get {return WalkSpeed; }

        }
        public bool IsControlled
        {
            get;
            set;
        }
        public new double Rotation
        {
            get;
            set;
        }
        #endregion
    }
}
